<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div>
        <input type="file" name="file" onchange="uploadFile(this)">
    </div>
    <div>
        <pre id="ret-content"></pre>
        <!-- 被包围在 <pre> 标签 元素中的文本通常会保留空格和换行符 -->
    </div>

    <script>
        function uploadFile(t){
            if(t.files.length<=0)return;

            let fm=new FormData();//FormData 接口提供了一种表示表单数据的键值对 key/value 的构造方式，
            //并且可以轻松的将数据通过XMLHttpRequest.send() 方法发送出去

            fm.append('image',t.files[0]);//向 FormData 中添加新的属性值，
            //FormData 对应的属性值存在也不会覆盖原值，而是新增一个值，如果属性不存在则新增一项属性值

            fetch('/upload',{//不是http开头，没法发起请求，所以不能直接打开html文件
                //post方法提交给浏览器解析，返回该html文本，img的src写要请求的图片资源
                method:'POST',
                body:fm
            })
            .then(res=>{
                // 返回upload路由对应的返回值
                return res.text();
            })
            .then(text=>{
                let d=document.getElementById('ret-content')
                d.innerHTML=`<img src="/image/${text}"  style="width:80%;height:auto">`;
            })
            
        }
    </script>
</body>
</html>